from flask import Blueprint, session, redirect, render_template

from utils import dbUtil

od = Blueprint('order', __name__)

@od.route('/order_list')
def order_list():

    # 可抽取到拦截器中，不用每个路由都判断
    # 读取cookie中的用户信息，判断是否登录
    # user_info = session.get('user_info')
    # print(f"user_info 从session中获取到的用户信息: {user_info}, 类型为: {type(user_info)}")
    # if not user_info:
    #     # return "请先登录"
    #     return redirect('/login')

    user_info = session.get('user_info')
    role = user_info['role'] # 1-管理员 2-普通用户
    user_id = user_info['id']
    if role == 1:
        # 管理员查询所有订单
        all_order_sql = 'select * from account_order o left join account_user u on o.user_id=u.id'
        order_list = dbUtil.fetch_all_as_dict(all_order_sql, [])
        print(f"查询结果 order_list结构数据：{order_list}")  # (1, '18617151926', '123456', 'jerry', 1)
    else:
        # 普通用户只能查询自己的订单
        only_self_order_sql = 'select * from account_order o left join account_user u on o.user_id=u.id where user_id=%s'
        order_list =dbUtil.fetch_all_as_dict(only_self_order_sql, [user_id])
        print(f"查询结果 order_list结构数据：{order_list}")

    # 1待执行|2正在执行|3完成|4失败
    status_dict = {1: '待执行', 2: '正在执行', 3: '完成', 4: '失败'}

    # return "订单列表"
    return render_template('orderList.html', order_list=order_list, status_dict=status_dict)



@od.route('/order_create')
def order_create():

    # 可抽取到拦截器中，不用每个路由都判断
    # 读取cookie中的用户信息，判断是否登录
    # user_info = session.get('user_info')
    # print(f"user_info 从session中获取到的用户信息: {user_info}, 类型为: {type(user_info)}")
    # if not user_info:
    #     # return "请先登录"
    #     return redirect('/login')

    return "订单创建"


@od.route('/order_del')
def order_del():

    # 可抽取到拦截器中，不用每个路由都判断
    # 读取cookie中的用户信息，判断是否登录
    # user_info = session.get('user_info')
    # print(f"user_info 从session中获取到的用户信息: {user_info}, 类型为: {type(user_info)}")
    # if not user_info:
    #     # return "请先登录"
    #     return redirect('/login')

    return "订单删除"
